"""
使用 pyautogui 处理文件上传
当网页中没有标准的 input[type='file'] 元素时，
或者上传控件触发了系统对话框时，可以使用 pyautogui 操作
"""
import time

import pywinauto
from pywinauto.keyboard import send_keys
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
import pyautogui
import os

# 创建浏览器驱动对象
driver = webdriver.Chrome()
driver.maximize_window()


# 打开一个简单的文件上传页面示例
driver.get("https://www.baidu.com")

# 查找文件上传输入框
upload_input = driver.find_element(By.CSS_SELECTOR, "#right-tool > div.right-tool_3we_U > div:nth-child(3) > div > div")

upload_input.click()
# ActionChains(driver).click(upload_input).perform()

# 使用 pyautogui 输入文件路径并点击打开按钮
# 注意：这种方法依赖屏幕坐标，不同分辨率下可能需要调整
time.sleep(2)
# 写入文件路径
# pyautogui.write(r"D:\PycharmProjects\20250805\UiAutoProject20250805\day04\1.png")
#
#
# time.sleep(2)
# pyautogui.press("shift")   # 切换到英文输入法
# # 按下回车键确认选择
# pyautogui.press('enter') # 按下回车


# pywinauto  这个也是第三方库
send_keys(r'D:\PycharmProjects\20250805\UiAutoProject20250805\day04\1.png')
# 输入回车键
send_keys('{ENTER}')







# 等待上传完成
time.sleep(100)